// Login JS Document
require.config({
    baseUrl: '/js/common', 
    paths: {
        libs: '/js/libs'
    }
});
define(function(require){
	// 加载js
	var rs_zepto = require('libs/zepto');
	var rs_yingSoftCookie = require('yingSoftCookie');
	var rs_yingSoftPrg = require('yingSoftPrg');
	var rs_agentInfo = require('agentInfo');
	var rs_ajax = require('ajax');
	var rs_md5 = require('md5');
	var rs_dialog = require('dialog');
	// 匿名函数
	var G_userRegister = (function(){
        var _isClick = true;    // 防止多次点击
        var _thisNum = 0;
        var _ReType = '';
        var G_VerifyCode = '';//公共变量 ：用于存储 验证码
        var G_isRegedited = '';//号码是否已经注册过
        var G_isVerifySuccess = false;//输入的验证码是否验证成功
        var G_isPhoneVerifySuccess = false;//输入的手机验证码是否验证成功
        var countdown = 60; //发信息到手机的秒数，60s内不能点击
        var countdown2 = 0;//发信息到手机的秒数，60s内不能点击
        var userRegister = function(){
            this.init = function(){
                _ReType = G_Prg.getQueryString('type');
                if (!_ReType) {
                    G_Prg.alert('页面加载失败！', function () {
                        window.location.href = '/login';
                    })
                }
                _showSetp(_thisNum);
                var userRegist = new register();
                userRegist.immediatelyCheckName();//即时验证用户输入的通行证
                userRegist.immediatelyCheckViff();//即时验证用户输入的通行证
                userRegist.immediatelyCheckPsw();//验证密码
                refreshVerifyCode();
                _setClickEven();
                _showPWDText();
            } 
            /*************************************************************
             函数名：_checkPhoneIsRegedited
             功能：显示隐藏密码
             *************************************************************/
            function _showPWDText(){
                $('.signin_resetpwd label em').click(function(event){
                    if($(this).siblings('.passhide').css('display')=='block'){
                        $(this).siblings('.passshow').val($(this).siblings('.passhide').val());
                        $(this).siblings('.passhide').hide().siblings('.passshow').show();
                        $(this).find('img').attr('src','/images/pwdshow.png');
                        event.stopPropagation();
                    }else{
                        $(this).siblings('.passhide').val($(this).siblings('.passshow').val());
                        $(this).siblings('.passhide').show().siblings('.passshow').hide();
                        $(this).find('img').attr('src','/images/pwdhide.png');
                        event.stopPropagation();
                    }
                });
            }
            /********************************************************************************
             函数名：_setClickEven
             功能：所有的点击和焦点事件
             *******************************************************************************/
            function _setClickEven(){
                var userRegist = new register();
                var userResetPassword = new userResetPsw();
                // 第一步
                $('.signin_phone button').click(function () {
                    if ($(this).hasClass('nex_btn_none')) {
                        return;
                    }
                    if (_ReType === 'register') {
                        if (G_isRegedited === false) {//号码未被注册过才能进行下一步
                            userRegist.checkVerifyCode();
                        }else{
                            return;
                        }
                    } else if (_ReType === 'forget') {
                        if (G_isRegedited === true) {//号码已注册过才能进行下一步
                            userResetPassword._sendTelCode();
                        }else{
                            return;
                        }
                    }
                    if (G_isVerifySuccess) {//输入的验证码正确发送短信成功才能进行下一步
                        _thisNum = 1;
                        _showSetp(_thisNum);
                    }
                });
                // 第二步
                $('.signin_resetpwd button').click(function(){
                    if ($(this).hasClass('nex_btn_none')) {
                        return;
                    }
                    var telNumber = $('.signin_phone input[type=tel]').val();
                    var telCode = $('.signin_resetpwd li.verrifi input[type=text]').val();
                    if (_ReType === 'register') {
                        userRegist.registCheckTelVerifyCode(telNumber, telCode);
                    } else if (_ReType === 'forget') {
                        userResetPassword.resetPwdCheckTelVerifyCode(telNumber, telCode);
                    }
                    if (G_isPhoneVerifySuccess) {
                        if (_ReType === 'register') {
                            userRegist.regist();
                        } else if (_ReType === 'forget') {
                            userResetPassword.resetPassword();
                        }
                    }
                });
                // 手机验证
                $('.signin_phone input[type=tel]').blur(function () {
                    _step0_nextBtnShow();
                });
                // 图片验证码
                $('.signin_phone li strong img').click(function () {
                    refreshVerifyCode();
                });
                $('.signin_phone li input[type=text]').blur(function () {
                    _step0_nextBtnShow();
                });
                // 手机验证码
                $('.signin_resetpwd li.verrifi input[type=text]').blur(function () {
                    _step1_nextBtnShow();
                });
                $('.signin_resetpwd li.verrifi a').click(function () {
                    if (countdown2 > 0) { //判断在60秒内，不可重复点击
                        return;
                    }
                    if (_ReType === 'register') { //注册和修改密码发送手机验证码的接口是不一样的。。
                        userRegist.checkVerifyCode();
                    } else if (_ReType === 'forget') {
                        userResetPassword._sendTelCode();
                    }
                });
                // 密码验证
                $('.signin_resetpwd input.repwd').blur(function () {
                    _step1_nextBtnShow();
                });
                // 返回按钮
                $('.backBtn').click(function(){
                    if(_thisNum === 0){
                        window.location.href = '/login';
                    }else{
                        if (_ReType === 'register') {
                            refreshVerifyCode();
                        }
                        _thisNum = --_thisNum;
                        _showSetp(_thisNum);
                    }
                });
            }
            /********************************************************************************
             函数名：_step_nextBtnShow
             功能：下一步的按钮是否可以点击
             *******************************************************************************/
            function _step0_nextBtnShow() {
                $('.signin_phone button').addClass('nex_btn_none');
                var phoneNum = $('.signin_phone input[type=tel]').val();
                var verifyCode = $('.signin_phone input[type=text]').val();
                if (G_Prg.checkCellPhone(phoneNum)){
                    _checkPhoneIsRegedited();//判断号码是否已经注册
                }else{
                    $('.signin_phone p').html('手机号码不正确!');
                    return;
                }
                if (verifyCode.length === 4){
                    $('.signin_phone button').attr('class','button_reg');
                }else{
                    return;
                }
                // setTimeout(function () {
                //     _step0_nextBtnShow();
                // }, 200)
            }
            function _step1_nextBtnShow() {
                $('.signin_resetpwd button').addClass('nex_btn_none');
                var verifyCode = $('.signin_resetpwd li.verrifi input[type=text]').val();
                if(verifyCode.length!==6){
                    $('.signin_resetpwd input.pwd').focus();
                    $('.signin_resetpwd p').html('*验证码为6位数字！');
                    return;
                }else if(!_checkPwd()){
                    $('.signin_resetpwd input.pwd').focus();
                    return;
                }else if(verifyCode.length === 6 && _checkPwd()){
                    $('.signin_resetpwd button').attr('class','button_reg');
                }
                // setTimeout(function () {
                //     _step1_nextBtnShow();
                // }, 200)
            }
            /*************************************************************
             函数名：_checkPhoneIsRegedited
             功能：检验手机是否输入正确并已被注册
             *************************************************************/
            function _checkPhoneIsRegedited() {
                var userNameElement = $('.signin_phone input[type=tel]');
                var userName = userNameElement.val();
                var telErrMsgSpan = $('.signin_phone p'); //号码验证提示信息
                telErrMsgSpan.html('');
                var userNameReg = /^[a-zA-Z0-9_]+$/;
                var words = userNameReg.test(userNameElement);
                // telErrMsgSpan.html(words);
                if (words) {
                    return;
                }
                // 端口地址
                var URL = '/api/user/getUser/';
                G_AjaxApi_Record.post(URL, {
                        "userName": userName
                    }, true,
                    function (json) {
                        if (!json) {
                            G_Prg.throw('程序运行错误: userRegister.register.checkPhoneIsRegedited  请求服务器[/api/getUser]接口无返回！');
                        }
                        var jsonData = JSON.parse(json);
                        if (jsonData.status === 201) {
                            G_Cookie.setGuid(jsonData.data);
                            if (_ReType === 'forget') {
                                $('.signin_phone input[type=tel]').focus();
                                telErrMsgSpan.html('*该号码未注册');
                            }
                            G_isRegedited = false;
                        } else if (jsonData.status === 200) {
                            if (_ReType === 'register') {
                                telErrMsgSpan.html('*该号码已被注册');
                            }
                            G_isRegedited = true;
                        } else if (jsonData.status === 300) {
                            G_Prg.throw('程序运行错误:userRegister.register.checkPhoneIsRegedited  程序运行错误，数据库获取数据异常');
                        } else {
                            G_Prg.throw('userRegister.register.checkPhoneIsRegedited  抱歉，不能处理 status = "' + jsonData.status + '"！');
                        }
                    });
            }
            /*************************************************************
             函数名：refreshVerifyCode
             功能：刷新验证码 为公共变量G_VerifyCode 赋值
             *************************************************************/
            this.refreshVerifyCode = function () {
                refreshVerifyCode();
            }
            function refreshVerifyCode() {
                G_AjaxApi_Record.post('/api/verificationCode/refreshVerifyCode', {}, false,
                    function (data) {
                        var jsonData = JSON.parse(data);
                        G_VerifyCode = jsonData.data;
                        var imgVerify = $('.signin_phone li strong img');
                        imgVerify.attr('src','http://121.199.11.87:8118/VerificationCode/CreateVerificationCode/?guid=' + G_VerifyCode);
                    });
            }
            /********************************************************************************
             函数名：settime(val)
             功能：60秒获取短信验证
             输入参数:val ：element元素，按时间控制的元素
             ********************************************************************************/
            this.settime = function (val) {
                settime(val)
            }
            function settime(val) {
                if (countdown === 0) {
                    // val.attr('class','phoneVerifySpan color-blue');
                    val.removeClass('isSend');
                    val.html('再次发送');
                    countdown = 60;
                    return;
                } else {
                    // val.attr('class','phoneVerifySpan color-blue');
                    val.addClass('isSend');
                    var html = countdown + 's后重新发送';
                    val.html(html);
                    countdown--;
                    countdown2 = countdown;
                }
                setTimeout(function () {
                    settime(val);
                }, 1000)
            }

            /*************************************************************
             函数名：checkPwd
             功能：检查次输入的密码长度是否在6-16个字符之间，且是否相同
             *************************************************************/
            function _checkPwd() { //密码框onblar事件触发
                $('.signin_resetpwd input.passhide').each(function(){
                    if($(this).css('display')=='none'){
                        $(this).val($(this).siblings('input.passshow').val());
                    }
                });
                var password = $('.signin_resetpwd input.pwd').val();
                var passwordConfirm = $('.signin_resetpwd input.repwd').val();
                var pwdErrMsgSpan = $('.signin_resetpwd p'); //密码验证提示信息
                pwdErrMsgSpan.html('');
                if (password === '') {
                    // pwdErrMsgSpan.html('*密码不能为空');
                    return false;
                }
                if (password.length < 6 || password.length > 16) {
                    pwdErrMsgSpan.html('*密码必须在6-16个字符之间');
                    return false;
                } else if (password !== passwordConfirm) {
                    pwdErrMsgSpan.html('*两次输入的密码不一致');
                    return false;
                }
                return true;
            }
            /********************************************************************************
             函数名：_showStep
             功能：显示进行到的步骤页面
             *******************************************************************************/
            function _showSetp(num){
                if(_ReType == 'register'){
                    $('.header h2').html('注册账号');
                }else if(_ReType == 'forget'){
                    $('.header h2').html('忘记密码');
                }
                if(num === 2){
                    window.location.href = '/switchMenu';
                }
                var inpnum = $('.signinput');
                inpnum.hide().eq(num).show();
            }
            /*************************************************************
             函数名：register
             功能：注册
             *************************************************************/
            function register() {
                /********************************************************************************
                 函数名：immediatelyCheckName
                 功能：即时判断通行证输入框输入内容
                 *******************************************************************************/
                this.immediatelyCheckName = function () {
                    var element = $('.loginUl input[type=tel]');
                    if ("\v" === "v") {
                        element.onpropertychange = webChange;
                    } else {
                        element.keyup(webChange, false);
                    }
                    function webChange() {
                        $('.signin_phone p').html(G_Prg.checkUserNameChange(element, 1));
                    }
                }
                /********************************************************************************
                 函数名：immediatelyCheckName
                 功能：即时判断验证码输入框输入内容
                 *******************************************************************************/
                this.immediatelyCheckViff = function () {
                    var element = $('.loginUl li.verrifi input[type=text]');
                    if ("\v" === "v") {
                        element.onpropertychange = webChange;
                    } else {
                        element.keyup(webChange, false);
                    }
                    function webChange() {
                        G_Prg.checkUserNameViff(element, 1);
                    }
                }
                /********************************************************************************
                 函数名：immediatelyCheckPsw
                 功能：即时判断密码输入框输入内容
                 *******************************************************************************/
                this.immediatelyCheckPsw = function () {
                    var element = $('.loginUl input[type=password]');
                    if ("\v" === "v") {
                        element.onpropertychange = webChange;
                    } else {
                        element.keyup(webChange, false);
                    }
                    function webChange() {
                        // $('.signin_resetpwd p').html(G_Prg.checkPsw(element, 1));
                    }
                }

                /*************************************************************
                 函数名：checkVerifyCode
                 功能：注册时验证验证码并发送短信
                 *************************************************************/
                this.checkVerifyCode = function () {
                    $('.loadingDiv,.loadingDrop').show();
                    // var userRegister = new userRegister();
                    var verifyCode = $('.signin_phone input[type=text]').val();
                    var userName = $('.signin_phone input[type=tel]').val();
                    var validationErrMsgSpan = $('.signin_resetpwd .checkmes');
                    validationErrMsgSpan.html('');
                    var json = {
                        "VerifyCode": verifyCode,
                        "guidCode": G_VerifyCode,
                        "Tel": userName
                    };
                    G_AjaxApi_Record.post('/api/verificationCode/checkVerifyCode', json, false,
                        function (data) {
                            $('.loadingDiv,.loadingDrop').hide();
                            //转换成json格式
                            var jsonData = JSON.parse(data);
                            if (jsonData && jsonData.status === 200) {
                                G_isVerifySuccess = true;
                                G_Prg.alert('短信验证码已发送');
                                var getMessage = $('.loginUl .verrifi a');
                                G_userRegister.settime(getMessage);
                                return;
                            }
                            if (jsonData && jsonData.status === 201) {
                                G_VerifyCode = '';
                                // G_userRegister.refreshVerifyCode();
                                var getMessage = $('.loginUl .verrifi a');
                                G_userRegister.settime(getMessage);
                                $('.signin_phone .format').html('*' + jsonData.msg);
                                validationErrMsgSpan.html('*' + '请返回上一步从新填写验证码');
                                G_isVerifySuccess = false;
                                return;
                            }
                            if (jsonData && jsonData.status === 202) {
                                G_Prg.alert('短信验证码已经发送');
                                return;
                            }
                            //异常处理
                            G_Prg.alert('程序运行错误，请重新注册！',function(){
                                location.reload();
                            });
                            // G_Prg.throw('程序运行错误!:"' + jsonData.msg + '"!status:' + jsonData.status);
                        });
                }

                /********************************************************************************
                 函数名：registCheckTelVerifyCode
                 功能：检验手机验证码是否正确
                 *******************************************************************************/
                this.registCheckTelVerifyCode = function (telNumber, telCode) {

                    var URL = '/api/user/checkSmsVerifyCode/' + telNumber + '/' + telCode;
                    var _success = function (json) {
                        //接收端口返回的数据,json如果没有数据返回为null
                        var data = json;
                        //转换成json格式
                        var jsonData = JSON.parse(data);
                        //查询成功
                        if (jsonData && jsonData.status === 200) {
                            $('.signin_resetpwd .prompt').html('');
                            G_isPhoneVerifySuccess = true;
                        } else if (jsonData && jsonData.status === 201) {
                            $('.signin_resetpwd .prompt').html('*短信验证码不正确');
                            G_isPhoneVerifySuccess = false;
                        } else {
                            $('.signin_resetpwd .prompt').html('*抱歉，短信验证码有误');
                            //G_Prg.throw('抱歉，不能处理 GetPswByTel._checkTelVerifyCode：status = "' + jsonData.status + '"！');
                            G_isPhoneVerifySuccess = false;
                        }
                    };
                    G_AjaxApi_Record.get(URL, false, _success);
                }


                /*************************************************************
                 函数名：regist
                 功能：注册用户
                 *************************************************************/
                this.regist = function () {
                    var smsValidation = $('.signin_resetpwd li.verrifi input[type=text]').val();
                    var userName = $('.signin_phone input[type=tel]').val();
                    $('.signin_resetpwd input.passhide').each(function(){
                        if($(this).css('display')=='none'){
                            $(this).val($(this).siblings('input.passshow').val());
                        }
                    });
                    var passWord = hex_md5($('.signin_resetpwd input.pwd').val()); //对密码进行MD5加密后发送
                    var safeAnswer = $('#txtSafeAnswer').val();
                    var safeQuetion = $('#txtSafeQuetion').val();
                    //  var smsValidation = G_Prg.$('txtSmsValidation').value;
                    $('.loadingDiv,.loadingDrop').show();
                    G_AjaxApi_Record.post(
                        '/api/user/regist', {
                            "passWord": passWord,
                            "userName": userName,
                            "safeQuetion": safeQuetion,
                            "safeAnswer": safeAnswer,
                            "guid": G_Cookie.getGuid(),
                            "agentCode": G_AgentInfo.getAgentCode(),
                            "clientType": _getClientType(),
                            "taskID": smsValidation
                        },
                        true,
                        function (json) {
                            $('.loadingDiv,.loadingDrop').hide();
                            if (!json) {
                                G_Prg.throw('程序运行错误:userRegister.register.regist  请求服务器[/api/user/regist]接口无返回！');
                            }
                            var jsonData = JSON.parse(json);
                            if (jsonData.status === 200) {
                                G_Prg.alert('注册成功！', function () {
                                	G_Prg.removeCookie('freeTry');
                                    _login(userName, passWord);
                                });
                            } else if (jsonData.status === 201) {
                                G_Prg.alert('该帐号已被注册，请您重新注册', function () {
                                    window.location.href = '/signup?type=register';
                                });
                            } else if (jsonData.status === 202) {
                                G_Prg.alert('注册时间超时，请您重新注册', function () {
                                    window.location.href = '/signup?type=register';
                                });
                            } else if (jsonData.status === 203) {
                                G_Prg.alert('短信验证码不正确');
                            } else if (jsonData.status === 300) {
                                G_Prg.throw('程序运行错误:userRegister.register.regist  程序运行错误，数据库获取数据异常');
                            } else {
                                G_Prg.throw('程序运行错误:userRegister.register.regist  抱歉，不能处理 status = "' + jsonData.status + '"！');
                            }
                        });

                }

                /********************************************************************************
                 函数名：login
                 功能：用户登陆
                 *******************************************************************************/

                function _login(userName, password) {
                    var loginType = 1; //用户名登录
                    if (G_Prg.checkEmail(userName)) { //邮箱登录
                        loginType = 2;
                    }
                    if (G_Prg.checkCellPhone(userName)) { //手机登录
                        loginType = 3;
                    }
                    //验证用户名及密码
                    var _success = function (json) {
                        if (!json) {
                            G_Prg.throw('程序运行错误，userLogin.login服务端无返回数据');
                        }
                        var jsonData = JSON.parse(json);
                        if (jsonData.status === 200) {
                            G_Cookie.setUserID(jsonData.data.userID);
                            G_Cookie.setUserName(userName);
                            G_Cookie.setGuid(jsonData.data.guid);
                            G_Cookie.removeUserPwd();
                            window.location.href = '/switchMenu';
                        } else if (jsonData.status === 201) {
                            G_Prg.alert('用户名或者密码不正确');
                            $('.signin_resetpwd input.pwd').val('');
                            //G_Prg.$('txtName').focus();
                        } else if (jsonData.status === 300) {
                            G_Prg.throw('程序运行错误，userLogin.login,数据库获取数据异常');
                        } else {
                            G_Prg.throw('抱歉，userLogin.login不能处理 status = "' + jsonData.status + '"！');
                        }
                    }
                    G_AjaxApi_Record.get(('/api/user/login/' + userName + '/' + password + '/' + loginType + '/' + _getClientType() + '/' + _getUserAgent()), false, _success);
                }
            }
        }
        /*************************************************************
         函数名：userResetPsw
         功能：找回密码
         *************************************************************/
        function userResetPsw() {
            /********************************************************************************
             函数名：_sendTelCode
             功能：发送短信验证码
             *******************************************************************************/
            this._sendTelCode = function () {
                // var userRegister = new userRegister();
                var verifyCode = $('.signin_phone input[type=text]').val();
                var userName = $('.signin_phone input[type=tel]').val();
                var validationErrMsgSpan = $('.signin_phone p');
                validationErrMsgSpan.html('');
                $('.signin_resetpwd p').html('');
                var URL = '/api/verificationCode/sendTelCode';

                var param = {
                    "verifyCode": verifyCode,
                    "guidCode": G_VerifyCode,
                    "tel": userName
                };
                $('.loadingDiv,.loadingDrop').show();
                var _success = function (json) {
                    $('.loadingDiv,.loadingDrop').hide();
                    //接收端口返回的数据,json如果没有数据返回为null
                    var data = json;
                    //转换成json格式
                    var jsonData = JSON.parse(data);
                    //查询成功
                    if (jsonData && jsonData.status === 200) {
                        /*短信发送成功*/
                        G_isVerifySuccess = true;
                        G_Prg.alert('短信验证码已发送');
                        var getMessage = $('.signin_resetpwd li.verrifi a');
                        G_userRegister.settime(getMessage);
                    } else if (jsonData && jsonData.status === 201) {
                        G_userRegister.refreshVerifyCode();
                        G_Prg.alert('短信发送失败');
                    } else if (jsonData && jsonData.status === 202) {
                    } else if (jsonData && jsonData.status === 203) {
                        validationErrMsgSpan.html('*请等待60秒再发送');
                        $('.signin_resetpwd p').html('*请等待60秒再发送');
                    } else if (jsonData && jsonData.status === 204) {
                        validationErrMsgSpan.html('*当天发送短信次数过多');
                        $('.signin_resetpwd p').html('*当天发送短信次数过多');
                    } else if (jsonData && jsonData.status === 205) {
                        validationErrMsgSpan.html('*请输入正确的验证码');
                        $('.signin_resetpwd p').html('*请返回上一页输入正确的验证码');
                        G_userRegister.refreshVerifyCode();
                    } else if (jsonData && jsonData.status === 300) {
                        G_Prg.throw('程序运行错误，GetPswByTel. _sendTelCode：数据库连接失败');
                    } else {
                        G_Prg.throw('抱歉，不能处理 GetPswByTel. _sendTelCode：status = "' + jsonData.status + '"！');
                    }
                };
                G_AjaxApi_Record.post(URL, param, false, _success);
            }
            /********************************************************************************
             函数名：resetPwdCheckTelVerifyCode
             功能：找回密码的检验手机验证码是否正确
             *******************************************************************************/
            this.resetPwdCheckTelVerifyCode = function (telNumber, telCode) {
                var URL = '/api/user/checkTelCode/' + telNumber + '/' + telCode;
                $('.loadingDiv,.loadingDrop').show();
                var _success = function (json) {
                    $('.loadingDiv,.loadingDrop').hide();
                    //接收端口返回的数据,json如果没有数据返回为null
                    var data = json;
                    //转换成json格式
                    var jsonData = JSON.parse(data);
                    //查询成功
                    if (jsonData && jsonData.status === 200) {
                        var guid = jsonData.data.guid;
                        G_Cookie.setGuid(guid);
                        G_isPhoneVerifySuccess = true;
                        $('.signin_resetpwd p').html('');
                    } else if (jsonData && jsonData.status === 201) {
                        $('.signin_resetpwd p').html('*短信验证码不正确');
                        G_isPhoneVerifySuccess = false;
                    } else if (jsonData && jsonData.status === 202) {
                        G_Prg.throw('帐号未注册！');
                    } else {
                        G_Prg.throw('抱歉，不能处理 GetPswByTel._checkTelVerifyCode：status = "' + jsonData.status + '"！');
                    }

                };
                G_AjaxApi_Record.get(URL, false, _success);
            }

            /********************************************************************************
             函数名：resetPassword
             功能：修改密码
             *******************************************************************************/
            this.resetPassword = function () {
                var userName = $('.signin_phone input[type=tel]').val();
                $('.signin_resetpwd input.passhide').each(function(){
                    if($(this).css('display')=='none'){
                        $(this).val($(this).siblings('input.passshow').val());
                    }
                });
                var newPsw = $('.signin_resetpwd input.pwd').val();
                var guid = G_Cookie.getGuid();
                if (!guid) {
                    G_Prg.alert('guid=' + guid);
                    return;
                }
                var userType = 1;
                if (G_Prg.checkEmail(userName)) { //邮箱登录
                    userType = 2;
                }
                if (G_Prg.checkCellPhone(userName)) { //手机登录
                    userType = 3;
                }
                var userPasswordMd5 = hex_md5(newPsw); //md5加密
                var URL = '/api/user/updatePassword/' + userName + '/' + userPasswordMd5 + '/' + guid + '/' + userType;
                $('.loadingDiv,.loadingDrop').show();
                var _success = function (json) { //G_AjaxApi.get的回调函数
                    //接收端口返回的数据,转换成json格式
                    $('.loadingDiv,.loadingDrop').hide();
                    var jsonData = JSON.parse(json);
                    if (jsonData.status === 200) {
                        //移除Guid
                        G_Cookie.removeGuid();
                        G_Prg.alert('密码修改成功，请你重新登录！', function () {
                            window.location.href = '/login';
                        });
                    } else if (jsonData.status === 300) {
                        G_Prg.throw('程序运行错误，UserGetBackPsw._resetPassword,数据库获取数据异常');
                    } else {
                        G_Prg.throw('抱歉，不能处理 UserGetBackPsw._resetPassword：status = "' + jsonData.status + '"！');
                    }
                }
                G_AjaxApi_Record.get(URL, false, _success);
            }
        }
        /********************************************************************************
         函数名：_getClientType
         功能：获取用户终端版本信息
         *******************************************************************************/
        function _getClientType() {
            var browser = {
                versions: function () {
                    var u = navigator.userAgent,
                        app = navigator.appVersion;
                    return {
                        ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
                        android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
                        iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
                        iPad: u.indexOf('iPad') > -1, //是否iPad
                        webApp: u.indexOf('Safari') == -1 //是否web应该程序，没有头部与底部
                    };
                }
                ()
            };
            if (browser.versions.iPhone || browser.versions.iPad) {
                return 'web_iPhone';
            }
            if (browser.versions.ios || browser.versions.android || browser.versions.webApp) {
                return 'web_android';
            }
            return 'web_pc';
        }
        /*************************************************************
         函数名：_getUserAgent
         功能：获取用户浏览器Navigator属性
         *************************************************************/
        function _getUserAgent(){
            var userAgent=navigator.userAgent.split('/');
            return userAgent;
        }
        return new userRegister();
    })();
    // 执行初始化
	G_userRegister.init();
});